<!DOCTYPE HTML>

<html lang="en">
<head>

<title>FilterChainProxy (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="FilterChainProxy (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="FilterChainProxy.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="FilterChainProxy.html#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="FilterChainProxy.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="FilterChainProxy.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="FilterChainProxy.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="FilterChainProxy.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.web</a></div>
<h2 title="Class FilterChainProxy" class="title">Class FilterChainProxy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.springframework.web.filter.GenericFilterBean</li>
<li>
<ul class="inheritance">
<li>org.springframework.security.web.FilterChainProxy</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>javax.servlet.Filter</code>, <code>org.springframework.beans.factory.Aware</code>, <code>org.springframework.beans.factory.BeanNameAware</code>, <code>org.springframework.beans.factory.DisposableBean</code>, <code>org.springframework.beans.factory.InitializingBean</code>, <code>org.springframework.context.EnvironmentAware</code>, <code>org.springframework.core.env.EnvironmentCapable</code>, <code>org.springframework.web.context.ServletContextAware</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">FilterChainProxy</span>
extends org.springframework.web.filter.GenericFilterBean</pre>
<div class="block">Delegates <code>Filter</code> requests to a list of Spring-managed filter beans. As of
version 2.0, you shouldn't need to explicitly configure a <code>FilterChainProxy</code> bean
in your application context unless you need very fine control over the filter chain
contents. Most cases should be adequately covered by the default
<code>&lt;security:http /&gt;</code> namespace configuration options.
<p>
The <code>FilterChainProxy</code> is linked into the servlet container filter chain by
adding a standard Spring <code>DelegatingFilterProxy</code> declaration in the application
<code>web.xml</code> file.
<h2>Configuration</h2>
<p>
As of version 3.1, <code>FilterChainProxy</code> is configured using a list of
<a href="SecurityFilterChain.html" title="interface in org.springframework.security.web"><code>SecurityFilterChain</code></a> instances, each of which contains a <a href="util/matcher/RequestMatcher.html" title="interface in org.springframework.security.web.util.matcher"><code>RequestMatcher</code></a>
and a list of filters which should be applied to matching requests. Most applications
will only contain a single filter chain, and if you are using the namespace, you don't
have to set the chains explicitly. If you require finer-grained control, you can make
use of the <code>&lt;filter-chain&gt;</code> namespace element. This defines a URI pattern and the
list of filters (as comma-separated bean names) which should be applied to requests
which match the pattern. An example configuration might look like this:
<pre>  &lt;bean id="myfilterChainProxy" class="org.springframework.security.web.FilterChainProxy"&gt;
      &lt;constructor-arg&gt;
          &lt;util:list&gt;
              &lt;security:filter-chain pattern="/do/not/filter*" filters="none"/&gt;
              &lt;security:filter-chain pattern="/**" filters="filter1,filter2,filter3"/&gt;
          &lt;/util:list&gt;
      &lt;/constructor-arg&gt;
  &lt;/bean&gt;
 </pre>
The names "filter1", "filter2", "filter3" should be the bean names of <code>Filter</code>
instances defined in the application context. The order of the names defines the order
in which the filters will be applied. As shown above, use of the value "none" for the
"filters" can be used to exclude a request pattern from the security filter chain
entirely. Please consult the security namespace schema file for a full list of
available configuration options.
<h2>Request Handling</h2>
<p>
Each possible pattern that the <code>FilterChainProxy</code> should service must be entered.
The first match for a given request will be used to define all of the <code>Filter</code>s
that apply to that request. This means you must put most specific matches at the top of
the list, and ensure all <code>Filter</code>s that should apply for a given matcher are
entered against the respective entry. The <code>FilterChainProxy</code> will not iterate
through the remainder of the map entries to locate additional <code>Filter</code>s.
<p>
<code>FilterChainProxy</code> respects normal handling of <code>Filter</code>s that elect not to
call
<code>Filter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)</code>
, in that the remainder of the original or <code>FilterChainProxy</code>-declared filter
chain will not be called.
<h3>Request Firewalling</h3>
An <a href="firewall/HttpFirewall.html" title="interface in org.springframework.security.web.firewall"><code>HttpFirewall</code></a> instance is used to validate incoming requests and create a
wrapped request which provides consistent path values for matching against. See
<a href="firewall/StrictHttpFirewall.html" title="class in org.springframework.security.web.firewall"><code>StrictHttpFirewall</code></a>, for more information on the type of attacks which the
default implementation protects against. A custom implementation can be injected to
provide stricter control over the request contents or if an application needs to
support certain types of request which are rejected by default.
<p>
Note that this means that you must use the Spring Security filters in combination with
a <code>FilterChainProxy</code> if you want this protection. Don't define them explicitly in
your <code>web.xml</code> file.
<p>
<code>FilterChainProxy</code> will use the firewall instance to obtain both request and
response objects which will be fed down the filter chain, so it is also possible to use
this functionality to control the functionality of the response. When the request has
passed through the security filter chain, the <code>reset</code> method will be called. With
the default implementation this means that the original values of <code>servletPath</code>
and <code>pathInfo</code> will be returned thereafter, instead of the modified ones used for
security pattern matching.
<p>
Since this additional wrapping functionality is performed by the
<code>FilterChainProxy</code>, we don't recommend that you use multiple instances in the
same filter chain. It shouldn't be considered purely as a utility for wrapping filter
beans in a single <code>Filter</code> instance.
<h2>Filter Lifecycle</h2>
<p>
Note the <code>Filter</code> lifecycle mismatch between the servlet container and IoC
container. As described in the <code>DelegatingFilterProxy</code> Javadocs, we recommend you
allow the IoC container to manage the lifecycle instead of the servlet container.
<code>FilterChainProxy</code> does not invoke the standard filter lifecycle methods on any
filter beans that you add to the application context.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">

</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.FilterChainValidator.html" title="interface in org.springframework.security.web">FilterChainProxy.FilterChainValidator</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">

</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#%3Cinit%3E()">FilterChainProxy</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#%3Cinit%3E(java.util.List)">FilterChainProxy</a></span>&#8203;(java.util.List&lt;<a href="SecurityFilterChain.html" title="interface in org.springframework.security.web">SecurityFilterChain</a>&gt;&nbsp;filterChains)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#%3Cinit%3E(org.springframework.security.web.SecurityFilterChain)">FilterChainProxy</a></span>&#8203;(<a href="SecurityFilterChain.html" title="interface in org.springframework.security.web">SecurityFilterChain</a>&nbsp;chain)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">

</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#afterPropertiesSet()">afterPropertiesSet</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#doFilter(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">doFilter</a></span>&#8203;(javax.servlet.ServletRequest&nbsp;request,
javax.servlet.ServletResponse&nbsp;response,
javax.servlet.FilterChain&nbsp;chain)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="SecurityFilterChain.html" title="interface in org.springframework.security.web">SecurityFilterChain</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#getFilterChains()">getFilterChains</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;javax.servlet.Filter&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#getFilters(java.lang.String)">getFilters</a></span>&#8203;(java.lang.String&nbsp;url)</code></th>
<td class="colLast">
<div class="block">Convenience method, mainly for testing.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#setFilterChainValidator(org.springframework.security.web.FilterChainProxy.FilterChainValidator)">setFilterChainValidator</a></span>&#8203;(<a href="FilterChainProxy.FilterChainValidator.html" title="interface in org.springframework.security.web">FilterChainProxy.FilterChainValidator</a>&nbsp;filterChainValidator)</code></th>
<td class="colLast">
<div class="block">Used (internally) to specify a validation strategy for the filters in each
configured chain.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#setFirewall(org.springframework.security.web.firewall.HttpFirewall)">setFirewall</a></span>&#8203;(<a href="firewall/HttpFirewall.html" title="interface in org.springframework.security.web.firewall">HttpFirewall</a>&nbsp;firewall)</code></th>
<td class="colLast">
<div class="block">Sets the "firewall" implementation which will be used to validate and wrap (or
potentially reject) the incoming requests.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#setRequestRejectedHandler(org.springframework.security.web.firewall.RequestRejectedHandler)">setRequestRejectedHandler</a></span>&#8203;(<a href="firewall/RequestRejectedHandler.html" title="interface in org.springframework.security.web.firewall">RequestRejectedHandler</a>&nbsp;requestRejectedHandler)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="firewall/RequestRejectedHandler.html" title="interface in org.springframework.security.web.firewall"><code>RequestRejectedHandler</code></a> to be used for requests rejected by the
firewall.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="FilterChainProxy.html#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.springframework.web.filter.GenericFilterBean">

</a>
<h3>Methods inherited from class&nbsp;org.springframework.web.filter.GenericFilterBean</h3>
<code>addRequiredProperty, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">

</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>FilterChainProxy</h4>
<pre>public&nbsp;FilterChainProxy()</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.springframework.security.web.SecurityFilterChain)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>FilterChainProxy</h4>
<pre>public&nbsp;FilterChainProxy&#8203;(<a href="SecurityFilterChain.html" title="interface in org.springframework.security.web">SecurityFilterChain</a>&nbsp;chain)</pre>
</li>
</ul>
<a id="&lt;init&gt;(java.util.List)">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FilterChainProxy</h4>
<pre>public&nbsp;FilterChainProxy&#8203;(java.util.List&lt;<a href="SecurityFilterChain.html" title="interface in org.springframework.security.web">SecurityFilterChain</a>&gt;&nbsp;filterChains)</pre>
</li>
</ul>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">

</a>
<h3>Method Detail</h3>
<a id="afterPropertiesSet()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>afterPropertiesSet</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;afterPropertiesSet()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>afterPropertiesSet</code>&nbsp;in interface&nbsp;<code>org.springframework.beans.factory.InitializingBean</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>afterPropertiesSet</code>&nbsp;in class&nbsp;<code>org.springframework.web.filter.GenericFilterBean</code></dd>
</dl>
</li>
</ul>
<a id="doFilter(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>doFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;doFilter&#8203;(javax.servlet.ServletRequest&nbsp;request,
                     javax.servlet.ServletResponse&nbsp;response,
                     javax.servlet.FilterChain&nbsp;chain)
              throws java.io.IOException,
                     javax.servlet.ServletException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dd><code>javax.servlet.ServletException</code></dd>
</dl>
</li>
</ul>
<a id="getFilters(java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilters</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;javax.servlet.Filter&gt;&nbsp;getFilters&#8203;(java.lang.String&nbsp;url)</pre>
<div class="block">Convenience method, mainly for testing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>url</code> - the URL</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>matching filter list</dd>
</dl>
</li>
</ul>
<a id="getFilterChains()">

</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterChains</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="SecurityFilterChain.html" title="interface in org.springframework.security.web">SecurityFilterChain</a>&gt;&nbsp;getFilterChains()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of <code>SecurityFilterChain</code>s which will be matched against and
applied to incoming requests.</dd>
</dl>
</li>
</ul>
<a id="setFilterChainValidator(org.springframework.security.web.FilterChainProxy.FilterChainValidator)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setFilterChainValidator</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setFilterChainValidator&#8203;(<a href="FilterChainProxy.FilterChainValidator.html" title="interface in org.springframework.security.web">FilterChainProxy.FilterChainValidator</a>&nbsp;filterChainValidator)</pre>
<div class="block">Used (internally) to specify a validation strategy for the filters in each
configured chain.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterChainValidator</code> - the validator instance which will be invoked on during
initialization to check the <code>FilterChainProxy</code> instance.</dd>
</dl>
</li>
</ul>
<a id="setFirewall(org.springframework.security.web.firewall.HttpFirewall)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setFirewall</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setFirewall&#8203;(<a href="firewall/HttpFirewall.html" title="interface in org.springframework.security.web.firewall">HttpFirewall</a>&nbsp;firewall)</pre>
<div class="block">Sets the "firewall" implementation which will be used to validate and wrap (or
potentially reject) the incoming requests. The default implementation should be
satisfactory for most requirements.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>firewall</code> - </dd>
</dl>
</li>
</ul>
<a id="setRequestRejectedHandler(org.springframework.security.web.firewall.RequestRejectedHandler)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequestRejectedHandler</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setRequestRejectedHandler&#8203;(<a href="firewall/RequestRejectedHandler.html" title="interface in org.springframework.security.web.firewall">RequestRejectedHandler</a>&nbsp;requestRejectedHandler)</pre>
<div class="block">Sets the <a href="firewall/RequestRejectedHandler.html" title="interface in org.springframework.security.web.firewall"><code>RequestRejectedHandler</code></a> to be used for requests rejected by the
firewall.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestRejectedHandler</code> - the <a href="firewall/RequestRejectedHandler.html" title="interface in org.springframework.security.web.firewall"><code>RequestRejectedHandler</code></a></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.2</dd>
</dl>
</li>
</ul>
<a id="toString()">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="FilterChainProxy.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="FilterChainProxy.html#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="FilterChainProxy.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="FilterChainProxy.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="FilterChainProxy.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="FilterChainProxy.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040de274b6f97cf","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
